package argo.daytask;

/**
 * 求众数
 * 给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
 */
public class MajorityElement {

    public int majorityElement(int[] nums) {
        int condidate = 0, count = 0;
        for (int num : nums) {
            if (count == 0) {
                condidate = num;
            }

            if (condidate == num) {
                count++;
            } else {
                count--;
            }
        }
        return condidate;
    }

    public static void main(String[] args) {
        int[] arrs = {2, 2, 1, 1, 1, 2, 2};
        System.out.println(new MajorityElement().majorityElement(arrs));
    }
}
